// sub/user/recharge-money/recharge-money.js
import Toast from '../../../miniprogram/miniprogram_npm/vant-weapp/toast/toast'

let app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    user: '',
    shipcardList: [],
    radio: '',
  },

  getCardList(){
    let _this = this;
    app.requestUrl({
      method: 'GET',
      url: '/wxapi/shipcard/lists',
      data: {
        centreId: app.globalData.loginCentreId,
        display: 0
      },
      load: 1
    }).then((res)=>{
      _this.setData({ shipcardList: res.data.data})
    })
  },

  //充值
  toPay(){
    let _this = this;
    if(_this.data.radio == ''){
      wx.showToast({
        title: '请选择充值卡',
        icon: 'none'
      })
      return;
    }
    app.requestUrl({
      method: 'POST',
      url: '/wxapi/vip/wxpay',
      data: {
        memberId: _this.data.user.id,
        openId: _this.data.user.openid,
        code: '',
        centreId: app.globalData.loginCentreId,
        shipcardId: _this.data.radio,
      }
    }).then((res)=>{
      if(res.data.code == 2004){
        wx.showToast({
          title: res.data.msg,
          icon: 'none'
        })
        return
      }
      let party = {};
      let respData = res.data.data.respData;
      if(respData){
        party.addId = respData.payAppId;
        party.nonceStr = respData.paynonceStr;
        party.package = respData.payPackage;
        party.paySign = respData.paySign;
        party.signType = respData.paySignType;
        party.timeStamp = respData.payTimeStamp;
      }
      //兼容微信支付，第三方支付
      let last = respData ? party : res.data.data;
      //发起微信支付
      wx.requestPayment({
        ...last,
        success(res) {
          wx.showToast({
            title: '充值成功',
            icon: 'none'
          });
          setTimeout(()=>{
            wx.navigateBack({ detail: 1 })
          },2000)
        },
        fail(res) {
          console.log(res)
        }
      })
    })
  },

  //单选监听
  radioChange(event){
    this.setData({ radio: event.detail });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      user: app.getUser(),
    })
    this.getCardList();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})